package com.erp.domain;

import com.erp.common.annotation.Excel;
import com.erp.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

/**
 * @Author:lxs
 * @CreateTime: 2025-09-05
 * @Description:销售出库表
 */

public class ErpSalesOutbound extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 销售出库单号 */
    private String soNo;

    /** 仓库编号 */
    @Excel(name = "仓库编号")
    private Long warehouseId;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private Long customerId;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String auditStatus;

    /** 发起人 */
    @Excel(name = "发起人")
    private Long initiator;

    /** 审核人 */
    @Excel(name = "审核人")
    private Long approver;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approveTime;

    /** 出库单号 */
    @Excel(name = "出库单号")
    private String outboundNo;

    @Override
    public String toString() {
        return "ErpSalesOutbound{" +
                "soNo='" + soNo + '\'' +
                ", warehouseId=" + warehouseId +
                ", customerId=" + customerId +
                ", auditStatus='" + auditStatus + '\'' +
                ", initiator=" + initiator +
                ", approver=" + approver +
                ", approveTime=" + approveTime +
                ", outboundNo='" + outboundNo + '\'' +
                "} " + super.toString();
    }

    public String getSoNo() {
        return soNo;
    }

    public void setSoNo(String soNo) {
        this.soNo = soNo;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(Long warehouseId) {
        this.warehouseId = warehouseId;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Long getInitiator() {
        return initiator;
    }

    public void setInitiator(Long initiator) {
        this.initiator = initiator;
    }

    public Long getApprover() {
        return approver;
    }

    public void setApprover(Long approver) {
        this.approver = approver;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public String getOutboundNo() {
        return outboundNo;
    }

    public void setOutboundNo(String outboundNo) {
        this.outboundNo = outboundNo;
    }
}
